Skip to content

test(prose): discovery's epic arm, to the same durability boundary - #571

Merged
leeovery merged 1 commit into
mainfrom
test/prose-discovery-epic-arm
Jul 27, 2026
Merged

test(prose): discovery's epic arm, to the same durability boundary#571
leeovery merged 1 commit into
mainfrom
test/prose-discovery-epic-arm

Conversation

@leeovery

@leeovery leeovery commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary

The same empty project and the same walk as the feature case, committed as an epic instead. The two diverge at exactly one point — confirm-trigger's routing — and everything else follows from it.

A feature concludes there. An epic continues into Step 7, which runs the discovery gateway, and that call is the proof of which arm was taken: it sits in calls_include and in the ordering chain behind manifest exists and workunit create, so a walk can't reach it by another route.

Three claims belong to the epic alone and can't pass by accident:

  • the session log records the map as empty at a first session, not the "not applicable" a single-topic type carries
  • the engine sets active_session — state a feature never acquires
  • the shaping conversation is carried forward rather than restarted, so no second session log is authored

calls_exclude covers topic start, discussion-map and the entry skills: nothing may begin while topics are still unnamed.

Provenance

This case's first run is what surfaced the walker wander at discovery Step 5, and through that the asserter's inability to say whose fault a step was. Both are fixed beneath this in the stack (#569, #570). The case is unchanged since that run, so it wants a run against those fixes before it's trusted — expected outcome is a clean pass with the wander gone, but that's a prediction, not a result.

Test plan

  • Corpus valid at 10 cases; snapshot rebuilds byte-identical
  • Re-run pending a plugin reload, since both fixes are agent/prose changes

🤖 Generated with Claude Code

Stack

  1. docs(design): prose-tests programme design log #544
  2. feat(prose-tests): the framework — cases, worlds, runner, skill #545
  3. test(prose): feature happy-path corpus — five worlds, seven cases #546
  4. test(prose): bugfix corpus — the investigation-centric surfaces #548
  5. test: retry recursive teardown removals — kill a class of phantom failures #549
  6. fix(entry-skills): close the handoff fences — six files render their arms wrong #550
  7. docs: a contributing page for working on the system #551
  8. fix(entry-skills): every handoff arm says to invoke the skill #552
  9. fix(implementation): environment setup belongs to the setup reference alone #553
  10. fix(prose-tests): the asserter is told which substitutions were armed #554
  11. feat(prose-tests): the mid-flow substitution, and a world only prose can describe #555
  12. test(prose): claims assert consequences, not what was displayed #556
  13. feat(prose-tests): record everything the agents do, results included #557
  14. fix(discussion-entry): the handoff reports the source it actually had #558
  15. fix(prose-tests): the stop hook records, and names the model that walked #559
  16. fix(prose-tests): command output was never actually recorded #560
  17. feat(prose-tests): judge the walk as told, not the summary returned #561
  18. feat(prose-tests): decide in code what an agent should not be deciding #562
  19. test(prose): a case starts where a session starts #563
  20. feat(prose-tests): walk on Sonnet, judge on Opus, escalate a failure #564
  21. test(prose): give the eight read-only cases something that can fail #565
  22. test(prose): only walks that can be observed, and checks that survive the trip #566
  23. fix(prose-tests): the verdict names only the model the record names #567
  24. test(prose): discovery, walked to the point where work first exists #568
  25. fix(prose-tests): the asserter judges which of prose or walker was at fault #569
  26. docs(conventions): a step whose reference routes every exit still signposts #570
  27. test(prose): discovery's epic arm, to the same durability boundary #571 👈 current
  28. fix(prose-tests): keep the walk's closing turn, and name the one live difference #572
  29. fix(prose-tests): prescribe the cross-check, drop a check that cannot fire, lint the scope #573
  30. test(prose): declare the prose each case actually walks #574
  31. fix(investigation): the symptom interview never ran for work shaped in discovery #575
  32. feat(prose-tests): conduct — playing a person where a script cannot reach #576
  33. fix(prose-tests): what a write put in a file is evidence, not incident #577
  34. fix(investigation): the interview starts from the carrier, not over it #578
  35. test(prose): quick-fix scoping, the whole definition stage in one walk #579
  36. fix(prose-tests): the world log is the walker's record #580
  37. fix(prose-tests): a confirmed failure reports both runs' checks #581
  38. fix(prose-tests): each prescribed command runs as written #582
  39. fix(scoping): context gathering reads the whole carrier, asks only the gaps #583

This was referenced Jul 26, 2026
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from 5672a5d to 2eba4bc Compare July 27, 2026 15:46
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from bebbe3b to d3d9576 Compare July 27, 2026 15:47
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from 2eba4bc to a9d6186 Compare July 27, 2026 15:47
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from d3d9576 to f397187 Compare July 27, 2026 15:49
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from a9d6186 to c976b82 Compare July 27, 2026 15:49
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from f397187 to 7bd1d04 Compare July 27, 2026 15:50
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from c976b82 to ae932a1 Compare July 27, 2026 15:50
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from 7bd1d04 to ebe255a Compare July 27, 2026 15:52
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from ae932a1 to d62969d Compare July 27, 2026 15:52
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from ebe255a to 37b5598 Compare July 27, 2026 15:53
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from d62969d to 4960fba Compare July 27, 2026 15:53
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from 37b5598 to e6f71a1 Compare July 27, 2026 15:54
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from 4960fba to 9e7d97c Compare July 27, 2026 15:54
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from e6f71a1 to d3bee4d Compare July 27, 2026 15:56
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from 9e7d97c to 96d3eac Compare July 27, 2026 15:56
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from d3bee4d to 4bfd85e Compare July 27, 2026 15:57
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from 96d3eac to e62a792 Compare July 27, 2026 15:57
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from 4bfd85e to 2ad28b2 Compare July 27, 2026 15:58
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from e62a792 to fcba6bb Compare July 27, 2026 15:58
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from 2ad28b2 to 6ecfd5c Compare July 27, 2026 15:59
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from fcba6bb to db544d9 Compare July 27, 2026 15:59
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from 6ecfd5c to d4e0e80 Compare July 27, 2026 16:00
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from db544d9 to 3766bab Compare July 27, 2026 16:00
@leeovery
leeovery force-pushed the docs/conventions-reference-directed-routing branch from d4e0e80 to 0f35d4c Compare July 27, 2026 16:01
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from 3766bab to 28f9030 Compare July 27, 2026 16:01
@leeovery
leeovery changed the base branch from docs/conventions-reference-directed-routing to main July 27, 2026 16:02
The same empty project and the same walk as the feature case, committed
as an epic instead. The two diverge at one point — confirm-trigger's
routing — and everything downstream follows from it.

A feature concludes there. An epic continues into Step 7, which runs the
discovery gateway, and that call is what proves which arm was taken: it
sits in calls_include and in the ordering chain behind manifest exists
and workunit create, so a walk cannot reach it by another route.

Three claims are the epic's alone and cannot pass by accident. The
session log records the map as empty at a first session rather than the
not-applicable a single-topic type carries. The engine sets
active_session, which a feature never acquires. And the shaping
conversation is carried forward rather than restarted, so no second log
is authored.

calls_exclude covers topic start, the discussion map and the entry
skills: nothing may begin while the topics are still unnamed.

Its first run is what surfaced the walker wander at Step 5, and through
that the asserter's inability to say whose fault a step was. Both are
fixed beneath this in the stack; the case is unchanged since, so it wants
a run against them before it is trusted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@leeovery
leeovery force-pushed the test/prose-discovery-epic-arm branch from 28f9030 to de078e5 Compare July 27, 2026 16:02
@leeovery
leeovery merged commit 448e8e7 into main Jul 27, 2026
@leeovery
leeovery deleted the test/prose-discovery-epic-arm branch July 27, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant